package com.xydtech.ecard.merchant.mapper;

import com.xydtech.ecard.merchant.domain.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 电子名片图表统计Mapper接口
 *
 * @author yuzhiguo
 * @date 2024-05-22 上午10:32
 */
public interface EcardBranchEcardChartMapper {

    /**
     * 查询建档拜访统计数据
     *
     * @param userId
     * @return
     */
    List<EcardBranchEcardChart> selectFilingVisitsByUserId(@Param("userId") Long userId);

    /**
     * 查询全部的建档拜访数据
     *
     * @return
     */
    List<EcardBranchEcardChart> getAllFilingVisitsNums(Long deptId);

    /**
     * 查询建档折线图数据
     * @return
     */
    List<EcardBranchEcardChart> getFilingLineChart(@Param("deptId") Long deptId);


    /**
     * 查询建档折线图数据（小程序接口）
     * @param deptId
     * @return
     */
    List<EcardBranchEcardChart> getFilingLineChartByApplet(@Param("deptId") Long deptId);

    /**
     * 查询拜访折线图数据
     * @return
     */
    List<EcardBranchEcardChart> getVisitLineChart(@Param("deptId") Long deptId);

    /**
     * 查询拜访柱状图数据接口（小程序接口）
     * @param deptId
     * @return
     */
    List<EcardBranchEcardChart> getVisitLineChartByApplet(@Param("deptId") Long deptId);

    /**
     * 查询超时拜访数据
     * @return
     */
    List<EcardBranchEcardChart> getTimeoutVisitsNums(@Param("deptId") Long deptId);

    /**
     * 机构商户建档排名
     * @param ecardBranchDeptFiling
     * @return
     */
    List<EcardBranchDeptFiling> getDeptFilingList(EcardBranchDeptFiling ecardBranchDeptFiling);

    /**
     * 机构商户建档排名（小程序接口）
     * @param ecardBranchDeptFiling
     * @return
     */
    List<EcardBranchDeptFiling> getDeptFilingListByApplet(EcardBranchDeptFiling ecardBranchDeptFiling);

    /**
     * 机构拜访次数排名
     * @param ecardBranchDeptVisit
     * @return
     */
    List<EcardBranchDeptVisit> getDeptVisitsList(EcardBranchDeptVisit ecardBranchDeptVisit);

    /**
     * 机构拜访次数排名（小程序接口）
     * @param ecardBranchDeptVisit
     * @return
     */
    List<EcardBranchDeptVisit> getDeptVisitsListByApplet(EcardBranchDeptVisit ecardBranchDeptVisit);

    /**
     * 机构超时拜访次数排名
     * @param ecardBranchDeptDoTask
     * @return
     */
    List<EcardBranchDeptDoTask> getDeptDoTaskList(EcardBranchDeptDoTask ecardBranchDeptDoTask);

    /**
     * 机构超时拜访次数排名（小程序接口）
     * @param ecardBranchDeptDoTask
     * @return
     */
    List<EcardBranchDeptDoTask> getDeptDoTaskListByApplet(EcardBranchDeptDoTask ecardBranchDeptDoTask);

    /**
     * 机构超时未拜访次数排名
     * @param ecardBranchDeptUndoTask
     * @return
     */
    List<EcardBranchDeptUndoTask> getDeptUnDoTaskList(EcardBranchDeptUndoTask ecardBranchDeptUndoTask);

    /**
     * 机构超时未拜访次数排名（小程序接口）
     * @param ecardBranchDeptUndoTask
     * @return
     */
    List<EcardBranchDeptUndoTask> getDeptUnDoTaskListByApplet(EcardBranchDeptUndoTask ecardBranchDeptUndoTask);

    /**
     * 营销人员商户建档排名
     * @param ecardBranchUserFiling
     * @return
     */
    List<EcardBranchUserFiling> getUserFilingList(EcardBranchUserFiling ecardBranchUserFiling);

    /**
     * 营销人员商户建档排名（小程序接口）
     * @param ecardBranchUserFiling
     * @return
     */
    List<EcardBranchUserFiling> getUserFilingListByApplet(EcardBranchUserFiling ecardBranchUserFiling);

    /**
     * 营销人员拜访次数排名
     * @param ecardBranchUserVisit
     * @return
     */
    List<EcardBranchUserVisit> getUserVisitsList(EcardBranchUserVisit ecardBranchUserVisit);

    /**
     * 营销人员拜访次数排名（小程序接口）
     * @param ecardBranchUserVisit
     * @return
     */
    List<EcardBranchUserVisit> getUserVisitsListByApplet(EcardBranchUserVisit ecardBranchUserVisit);

    /**
     * 营销人员超时拜访次数排名
     * @param ecardBranchUserDoTask
     * @return
     */
    List<EcardBranchUserDoTask> getUserDoTaskList(EcardBranchUserDoTask ecardBranchUserDoTask);

    /**
     * 营销人员超时拜访次数排名（小程序接口）
     * @param ecardBranchUserDoTask
     * @return
     */
    List<EcardBranchUserDoTask> getUserDoTaskListByApplet(EcardBranchUserDoTask ecardBranchUserDoTask);

    /**
     * 营销人员超时未拜访次数排名
     * @param ecardBranchUserUndoTask
     * @return
     */
    List<EcardBranchUserUndoTask> getUserUnDoTaskList(EcardBranchUserUndoTask ecardBranchUserUndoTask);

    /**
     * 营销人员超时未拜访次数排名（小程序接口）
     * @param ecardBranchUserUndoTask
     * @return
     */
    List<EcardBranchUserUndoTask> getUserUnDoTaskListByApplet(EcardBranchUserUndoTask ecardBranchUserUndoTask);
}
